The first two editions have a fundamental (nick)-naming error. The modesetting display driver is a device Independent display driver, so is a DIX, not a DDX. Since editing is not allowed, I present here a:
third edition]
“Drivers” for the subject brands of GPUs for X, whether Wayland or Xorg, consist of multiple components or layers. This primer discusses only the first two layers, and only for the F.O.S.S.](Free and open-source software - Wikipedia) types included in the openSUSE installation media and standard repositories.
First layer is the kernel device driver. Each kernel comes with one or more of its own modules (drivers) for each brand of GPU. For AMD, there is amdgpu for current and recent APUs/GPUs/IGPs, and radeon for older. For Intel there is gma500 for some SOC configurations, and i915 for the vast majority. For NVidia there is only nouveau. These kernel modules provide Kernel ModeSetting (KMS) functionality that the foundational X display driver layer unconditionally depends upon.
The original foundational X display drivers are all hardware device dependent, and thus are called DDX, for device dependent X (display driver). Again, for AMD there is amdgpu for current and radeon for older; for intel there is only intel; and for NVidia there is only nouveau. Each of these is provided by an upstream optional xf86-video-* rpm package. However, a newer technology generic display driver exists, now more than six years old, that functions as if it was device dependent, but which is in fact created for supporting AMD, Intel, NVidia (and others), not surprisingly, called modesetting. This modesetting DIX is provided by the X server rpm package rather than a separate rpm, so is not optional, unlike the xf86-video-* rpms. Because it is relatively new, it does not support older GPUs (roughly prior to Gen4 for Intel, or 2007 or 2008 for others).
Even though upstream modesetting is the default display driver, and the xf86-video-* rpms are technically optional, most openSUSE installations include the rpm xorg-x11-driver-video, which is a metapackage that installs every one of the xf86-video-* packages. This metapackage often causes older GPUs unsupported by the modesetting DIX to be supported by a default installation, which in effect preempts the upstream default modesetting DIX that supports most non-ancient GPUs that are not too new for standard support.
Because of this preemptive override, most people speaking of graphics “drivers” don’t even know the modesetting DIX exists. And because of the similar naming for kernel modules and display drivers, discussion of graphics “drivers” is often lacking clarity. This is particularly true for those for NVidia GPUs. Discussion of kernel driver is often intended when technically speaking of a display driver, and vice versa.
Those who wish to employ the modesetting DIX can most simply do so by uninstalling the xorg-x11-driver-video package and whichever xf86-video-* package is applicable to the installed GPU(s). Whether the modesetting DIX will perform “better” than a GPU-specific xf86-video-* package’s DDX can only be determined by trying both and comparing behavior. It is not unusual that tearing or other buggy behavior can be eliminated or reduced by a display driver switch.
For X there is additionally a pair of limited functionality drivers that do not depend on KMS, which support AMD, Intel, NVidia and more. These are FBDEV and VESA. They are unaccelerated, and support few, if any, modern widescreen resolutions, typically limited to 4:3 modes 1280x1024, 1600x1200, or less, often only 1024x768. Most find these acceptable only for rescue operations, or for servers where X is in use little to none. Not infrequently it is one of these two that are required for installation to proceed. When this happens, usually the bootloader on the installed system is configured to include nomodeset on each of the linux lines. The result of nomodeset from the bootloader is all competent FOSS display driver support is precluded, making the user unhappy with graphics performance, or confronting him with a black screen when the login greeter is expected, until it is discovered why and how to remove nomodeset from the boot process.
In summary, “drivers” required for competent X operation are:
-
amdgpu
(kernel) plus amdgpu (DDX) or modesetting (DIX) for current and recent AMD GPU/APUs/IGPs -
radeon
(kernel) plus modesetting (DIX) or radeon (DDX) for old AMD/ATI GPUs/IGPs -
gma500
(kernel) or i915 (kernel) plus intel (DDX) or modesetting (DIX) for Intel GPUs/IGPs -
nouveau
(kernel) plus modesetting (DIX) or nouveau (DDX) for NVidia GPUs